//封装一个axios
function axios() {
  //因为axios默认返回promise实例,所以先初始化一个默认值,是成功
  let promise = Promise.resolve();

  //因为可能会设置很多的拦截器,我们就用一个数组来保存所有的拦截器函数,等真正发送请求的时候,直接依次调用啊
  const arr = [];

  //遍历所有的请求拦截器,每一个请求拦截器都有两个函数,一个成功(fullfilledfn)一个是失败(rejectedfn)
  for (let item in requestinterceptor) {
    arr.unshift(item.fullfilledfn, item.rejectedfn);
  }

  //遍历所有的响应拦截器,每一个响应拦截器都有两个函数,一个成功(fullfilledfn)一个是失败(rejectedfn)
  for (let item in responseinterceptor) {
    arr.push(item.fullfilledfn, item.rejectedfn);
  }

  while (arr.length >= 0) {
    promise = promise.then(arr.shift(), arr.shift());
  }

  return promise;
}
